本日閱讀進度:第七章 重要的資料型別(285~306頁)
重點摘要:
1. 加減乘除時的資料型別轉換
除了==在做比較時會自(ㄐㄧ)動(ㄆㄛˊ)轉換資料型別,加減乘除時也會自動轉換。
其中,加法是最奇怪的了。
var addns = 548 + "7";
console.log(addns)
// "5487"
字串放在前面也是一樣。
var addsn = "14" + 50;
console.log(addsn)
// "1450"
但如果是這種情況:
var qun = 1 + 2 + "cats";
console.log(qun)
// "3cats"
加上圓括號的話:
var qun = 1 + (2 + "cats");
console.log(qun)
// "12cats"
var multi = 3 * "4";
// 12
var divi = 80 / "20"
// 4
var mini = "9529" - 2
// 9527
2. truthy值與falsey值
在JavaScript中,有些值並非true或false,但是在條件式中,它們卻會被視為true或false,JavaScript稱這些值為truthy或falsey。
判斷的技巧是,先判斷是否為falsey值,非falsey值即為truthy值。
而JavaScript有5個值是falsey值:
3. 字串既是一個基本資料型別又是一個物件?
在JavaScript,可以建立一個像基本資料型別的字串,也可以建立一個像物件的字串。
以下介紹一些常用的字串方法:
var str = "iloveruby";
console.log(str.length)
// 9
var str = "iloveJS";
console.log(str.charAt(5))
// "J"
var str = "loveilovecatlove";
console.log(str.indexOf("love"))
// 0
可以再加上一個數字的引數,做為開始搜尋的索引位置。
var str = "loveilovecatlove";
console.log(str.indexOf("love", 2))
// 5
如果找不到該字串,則會回傳-1。
var str = "loveilovecatlove";
console.log(str.indexOf("dog"))
// -1
var str = "i|love|cat";
console.log(str.split("|"))
// ["i", "love", "cat"]
其他還有replace、toLowerCase、match等眾多方法,就等以後有機會再介紹了。
PS.今天的標題梗來自“繼續旋轉我沒關係”
本文同步發表於cichen